package com.resys.service;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

import com.resys.entity.query.ReservationorderQuery;
import com.resys.entity.po.Reservationorder;
import com.resys.entity.vo.PaginationResultVO;

import javax.servlet.http.HttpServletResponse;


/**
 *  业务接口
 */
public interface ReservationorderService {

	/**
	 * 根据条件查询列表
	 */
	List<Reservationorder> findListByParam(ReservationorderQuery param);

	/**
	 * 根据条件查询列表
	 */
	Integer findCountByParam(ReservationorderQuery param);

	/**
	 * 分页查询
	 */
	PaginationResultVO<Reservationorder> findListByPage(ReservationorderQuery param);

	/**
	 * 新增
	 */
	Integer add(Reservationorder bean);

	/**
	 * 批量新增
	 */
	Integer addBatch(List<Reservationorder> listBean);

	/**
	 * 批量新增/修改
	 */
	Integer addOrUpdateBatch(List<Reservationorder> listBean);

	/**
	 * 多条件更新
	 */
	Integer updateByParam(Reservationorder bean,ReservationorderQuery param);

	/**
	 * 多条件删除
	 */
	Integer deleteByParam(ReservationorderQuery param);

	/**
	 * 根据OrderId查询对象
	 */
	Reservationorder getReservationorderByOrderId(Integer orderId);


	/**
	 * 根据OrderId修改
	 */
	Integer updateReservationorderByOrderId(Reservationorder bean,Integer orderId);


	/**
	 * 根据OrderId删除
	 */
	Integer deleteReservationorderByOrderId(Integer orderId);


	void addOrder(Reservationorder reservationorder);

    BigDecimal getSales(LocalDateTime start, LocalDateTime end);

	Double getRate(LocalDateTime start, LocalDateTime end);

	void export(HttpServletResponse response);
}